package com.example.mall.domain;

import java.util.Date;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.example.mall.util.CodeGenerateUtils;

import java.io.Serializable;

/**
 * <p>
 * 用户反馈表
 * </p>
 *
 * @author whale
 * @since 2025-05-09
 */
@TableName("tb_user_feedback")
public class UserFeedback extends Model<UserFeedback> {

    private static final long serialVersionUID = 1L;

    /**
     * 反馈唯一标识
     */
    @TableId("feedback_id")
    private Long feedbackId;
    /**
     * 用户id
     */
    @TableField("user_id")
    private Long userId;
    /**
     * 反馈类型（如建议、投诉等）
     */
    @TableField("feedback_type")
    private String feedbackType;
    /**
     * 反馈内容
     */
    private String content;
    /**
     * 反馈状态（0：未处理，1：已处理）
     */
    private Integer status;
    /**
     * 创建时间
     */
    @TableField("create_date")
    private Date createDate;
    /**
     * 修改时间
     */
    @TableField("update_time")
    private Date updateTime;

    public UserFeedback() {
        this.feedbackId = Long.valueOf(CodeGenerateUtils.generateUniqueId());
    }

    public Long getFeedbackId() {
        return feedbackId;
    }

    public void setFeedbackId(Long feedbackId) {
        this.feedbackId = feedbackId;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public String getFeedbackType() {
        return feedbackType;
    }

    public void setFeedbackType(String feedbackType) {
        this.feedbackType = feedbackType;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Date getCreateDate() {
        return createDate;
    }

    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }


    @Override
    public String toString() {
        return "UserFeedback{" +
        ", feedbackId=" + feedbackId +
        ", userId=" + userId +
        ", feedbackType=" + feedbackType +
        ", content=" + content +
        ", status=" + status +
        ", createDate=" + createDate +
        ", updateTime=" + updateTime +
        "}";
    }
}
